package com.itany.corejava.code09_集合.List;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * @author 石小俊
 * 2024年07月24日 13:32
 * 提示用户输入5名学生的成绩,学号从1开始,每次自增1,创建Student对象(属性:no、score),然后放到ArrayList集合中
 * 1.遍历集合,删除学号为2的学生
 * 2.不遍历集合,删除学号为3的学生
 * 3.不遍历集合,判断集合中是否包含学号为5的学生
 */
public class Test06_练习 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Integer no = 1;
        List<Student> students = new ArrayList<>();
        for (int i = 0; i < 5; i++) {
            Student student = new Student();
            student.setNo(no++);
            System.out.print("请输入第" + (i + 1) + "名学生成绩:");
            student.setScore(sc.nextDouble());
            students.add(student);
        }
        System.out.println("删除前:" + students);
        //test01(students);

        //List<String> list = new ArrayList<>(Arrays.asList("admin","alice","tom"));
        //list.remove("tom");

        //test02(students);
        test03(students);

    }

    /**
     * 遍历集合,删除学号为2的学生
     * @param students
     */
    public static void test01(List<Student> students) {
        // 1.遍历集合,删除学号为2的学生
        for (int i = students.size() - 1; i >= 0; i--) {
            // 取出当前迭代的学生对象
            Student student = students.get(i);
            // 判断学生学号是否为2
            if (student.getNo() == 2) {
                students.remove(i);
            }
        }
        System.out.println("删除学号为2的学生后:" + students);
    }

    /**
     * 不遍历集合,删除学号为3的学生
     * @param students
     */
    public static void test02(List<Student> students) {
        Student student = new Student();
        student.setNo(3);
        students.remove(student);
        System.out.println("删除学号为3的学生后:" + students);
    }

    /**
     * 不遍历集合,判断集合中是否包含学号为5的学生
     * @param students
     */
    public static void test03(List<Student> students) {
        Student student = new Student();
        student.setNo(5);
        System.out.println("集合中是否包含学号为5的学生:" + students.contains(student));
    }

}
